/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cl.zeke.cursos.jsf2spring3jpa2.negocio.services;

import cl.zeke.cursos.jsf2spring3jpa2.negocio.entities.Perfil;
import cl.zeke.cursos.jsf2spring3jpa2.negocio.entities.Usuario;
import java.util.Date;
import java.util.List;

/**
 *
 * @author eduardo
 */
public interface UsuarioService {
    
    public List<Usuario> traerTodos();
    
    public void guardarUsuario(Usuario usuario);
    
    public void eliminarUsuario(Usuario usuario);
    
    public Usuario traerPorRut(String rutString);
    
    public Usuario traerPorRut(Integer rut);

    public List<Usuario> buscar(String nombres, String apellidos, Integer rut, Perfil perfil, String email, Date fechaNacimientoInferior, Date fechaNacimientoSuperior, Boolean habilitado, int first, int fin);

    public int buscarRowCount(String nombres, String apellidos, Integer rut, Perfil perfil, String email, Date fechaNacimientoInferior, Date fechaNacimientoSuperior, Boolean habilitado);

    public void eliminar(Usuario usuario);

    public void habilitar(Usuario usuario);

    public void deshabilitar(Usuario usuario);
}
